package OptimalAlgorithm.BitOperation;
//给定一个正整数 n，编写一个函数，获取一个正整数的二进制形式并返回其二进制表达式中 设置位 的个数（也被称为汉明重量）。
//eg:
//输入：n = 11
//输出：3
//解释：输入的二进制串 1011 中，共有 3 个设置位。
public class HammingWeight {
    public int hammingWeight(int n) {
        int count = 0;
        while (n != 0){
            n = n & (n - 1);//干掉一个数二进制表示中最右侧的1
            count++;
        }
        return count;
    }
}
